ContextCapture 用户指南

资源数据

标头的资源集合描述了完成 3MXB 文件包含的整个节点集定义所需的全部资源。对于每个资源,数据按以下方式组织:

资源 ID 用于将节点和资源链接在一起。例如,该 ID 用于将几何结构附加到正确的节点,并将几何结构链接到相应的纹理。

可能存在四种类型的资源:

  • textureBuffer,其中纹理包含在 3MXB 文件中。
  • geometryBuffer,该资源将格网模型描述为 3MXB 文件中的二进制缓冲区。
  • textureFile,其中纹理是外部文件。
  • geometryFile,其中格网模型是外部文件。

对于这些缓冲区类型,二进制数据包含在某一缓冲区对象中的标头后面。缓冲区在资源集合与缓冲区集合中以相同的相对顺序显示。

  1. textureBuffer

    纹理缓冲区的 JSON 数据按以下方式组织:

    { "type":"textureBuffer", "id": "tex0", "format": "jpg", "size":1513, }
    

    “ID”在文件中唯一地标识纹理,但 ID 在整个树结构中并不唯一。

    “格式”标签指示纹理影像的类型。纹理缓冲区中的影像作为二进制缓冲区保存在 3MXB 文件中。二进制数据的大小由“大小”值表示。

  2. geometryBuffer

    几何结构缓冲区的元数据如下:

    { "type":"geometryBuffer", "id": "geometry1", "format": "ctm", "size":835, "bbMin": [-1243.69,-314.572,52.6138], "bbMax": [1243.69,314.572,52.6138], "texture": "tex0" }
    

    “ID”在文件中唯一地标识几何结构,但 ID 在整个树结构中并不唯一。

    “纹理”标签是可选的,仅当几何结构具有纹理时才会出现。在这种情况下,纹理由其 ID 标识。在上述示例中,几何结构使用“纹理缓冲区”部分中定义的“tex0”纹理。

    “bbMin”和“bbMax”值描述了几何结构的边界框;方式与节点数据相同。

  3. textureFile

    纹理文件 JSON 描述与纹理缓冲区非常相似,不同之处在于它指示包含影像的外部文件的路径,而不是缓冲区的大小。

    { "type":"textureFile", "format": "jpg", "id": "tex1", "file": "subfolder/SomeTexture.jpg", }
    
  4. geometryFile

    与纹理文件一样,几何结构文件 JSON 包含“文件”标签,该标签指向外部几何结构文件。

    { "type":"geometryFile", "format": "obj", "id": "geometry1", "file": "subfolder/SomeMesh.obj", "texture": "tex1" }